#ifndef OGREWIDGET_H_INCLUDE
#define OGREWIDGET_H_INCLUDE

#include <QWidget>

namespace Ogre
{
class Root;
class RenderWindow;
class Camera;
class SceneManager;
class ResourceGroupManager;
}

class OgreWidget : public QWidget 
{
	Q_OBJECT

public:
	OgreWidget(QWidget* parent = 0);
	~OgreWidget();

	bool initialize();
	QSize minimumSizeHint() const;

public slots:
	void showDebugOverlay(bool show);

protected:
	virtual void paintEvent(QPaintEvent* event);
	virtual void resizeEvent(QResizeEvent* event);

private:
	
	void updateStats(void);

	Ogre::Root* mOgreRoot;
	Ogre::RenderWindow* mRenderWindow;
	Ogre::Camera* mCamera;
	Ogre::SceneManager* mSceneManager;
	Ogre::ResourceGroupManager* mResourceGroupManager;
};

#endif // OGREWIDGET_H_INCLUDE
